WIDTH, HEIGHT = 800, 615
RED = (255, 48, 48)
BLUE = (65, 105, 225)
GREEN = (0, 139, 0)
board = [[' '] * 15 for line in range(15)]

# value_model_X_test = {
#         '5': ('XXXXX', 1000),
#
#         '4_0': (' XXXX ', 400),
#         '4_1': (' XXXXO', 100),
#         '4_2': ('OXXXX ', 100),
#         '4_11': ('XXXX ', 100),  # 开头
#         '4_10': (' XXXX', 100),  # 结尾
#
#         '4_9': ('OXXX X', 82),
#         '4_17': ('XXX XO', 86),
#         '4_15': ('XXX X', 82),  # 开头
#         '4_19': ('XXX X', 86),  # 结尾
#         '4_5': ('  XXX X', 120),
#
#         '4_7': ('XX XXO', 84),
#         '4_8': ('OXX XX', 84),
#         '4_13': ('XX XX ', 84),  # 开头
#         '4_4': ('   XX XX   ', 110),
#         '4_14': ('XX XX', 84),  # 结尾
#
#         '4_3': ('X XXX  ', 120),
#         '4_6': ('X XXXO', 82),
#         '4_16': ('OX XXX', 86),
#         '4_18': ('X XXX', 86),  # 开头
#         '4_12': ('X XXX', 82),  # 结尾
#
#         '3_0': ('  XXX  ', 60),
#         '3_1': ('  XXXO', 25),
#         '3_2': ('OXXX  ', 25),
#         '3_3': (' XXX  ', 30),
#         '3_4': ('  XXX ', 30),
#         '3_10': ('XXX  ', 25),  # 开头
#         '3_12': ('  XXX', 25),  # 结尾
#
#         '3_6': (' XX X ', 37),
#         '3_17': (' XX X', 23),  # 结尾
#         '3_15': (' XX XO', 23),
#         '3_11': ('XX X ', 21),  # 开头
#         '3_8': ('OXX X ', 21),
#
#         '3_5': (' X XX ', 37),
#         '3_9': (' X XXO', 21),
#         '3_14': ('OX XX ', 23),
#         '3_16': ('X XX ', 23),  # 开头
#         '3_13': (' X XX', 21),  # 结尾
#
#         '3_7': (' X X X ', 27),
#
#         '2_0': ('   XX   ', 8),
#         '2_1': ('   XXO', 2),
#         '2_2': ('OXX   ', 2),
#         '2_3': ('  XX   ', 5),
#         '2_4': (' XX   ', 4),
#         '2_6': ('XX   ', 2),  # 开头
#         '2_7': ('   XX', 2),  # 结尾
#
#         '2_5': (' X X ', 4)
#     }

value_model_X = [
    # 开头检测
    {
        '5': ('XXXXX', 1000),

        '4_0': (' XXXX ', 400),
        '4_1': (' XXXXO', 100),
        '4_2': ('OXXXX ', 100),
        '4_3': ('X XXX  ', 120),
        '4_4': ('   XX XX   ', 110),
        '4_5': ('  XXX X', 120),
        '4_6': ('X XXXO', 82),
        '4_7': ('XX XXO', 84),
        '4_8': ('OXX XX', 84),
        '4_9': ('OXXX X', 82),
        '4_16': ('OX XXX', 86),
        '4_17': ('XXX XO', 86),
        '4_11': ('XXXX ', 100),  # 开头
        '4_13': ('XX XX ', 84),  # 开头
        '4_15': ('XXX X', 82),  # 开头
        '4_18': ('X XXX', 86),  # 开头

        '3_0': ('  XXX  ', 60),
        '3_1': ('  XXXO', 25),
        '3_2': ('OXXX  ', 25),
        '3_3': (' XXX  ', 30),
        '3_4': ('  XXX ', 30),
        '3_5': (' X XX ', 37),
        '3_6': (' XX X ', 37),
        '3_7': (' X X X ', 27),
        '3_8': ('OXX X ', 21),
        '3_9': (' X XXO', 21),
        '3_14': ('OX XX ', 23),
        '3_15': (' XX XO', 23),
        '3_10': ('XXX  ', 25),  # 开头
        '3_11': ('XX X ', 21),  # 开头
        '3_16': ('X XX ', 23),  # 开头

        '2_0': ('   XX   ', 8),
        '2_1': ('   XXO', 2),
        '2_2': ('OXX   ', 2),
        '2_3': ('  XX   ', 5),
        '2_4': (' XX   ', 4),
        '2_5': (' X X ', 4),
        '2_6': ('XX   ', 2),  # 开头
    },
    # 中间检测
    {
        '5': ('XXXXX', 1000),

        '4_0': (' XXXX ', 400),
        '4_1': (' XXXXO', 100),
        '4_2': ('OXXXX ', 100),
        '4_3': ('X XXX  ', 120),
        '4_4': ('   XX XX   ', 110),
        '4_5': ('  XXX X', 120),
        '4_6': ('X XXXO', 82),
        '4_7': ('XX XXO', 84),
        '4_8': ('OXX XX', 84),
        '4_9': ('OXXX X', 82),
        '4_16': ('OX XXX', 86),
        '4_17': ('XXX XO', 86),

        '3_0': ('  XXX  ', 60),
        '3_1': ('  XXXO', 25),
        '3_2': ('OXXX  ', 25),
        '3_3': (' XXX  ', 30),
        '3_4': ('  XXX ', 30),
        '3_5': (' X XX ', 37),
        '3_6': (' XX X ', 37),
        '3_7': (' X X X ', 27),
        '3_8': ('OXX X ', 21),
        '3_9': (' X XXO', 21),
        '3_14': ('OX XX ', 23),
        '3_15': (' XX XO', 23),

        '2_0': ('   XX   ', 8),
        '2_1': ('   XXO', 2),
        '2_2': ('OXX   ', 2),
        '2_3': ('  XX   ', 5),
        '2_4': (' XX   ', 4),
        '2_5': (' X X ', 4)
    },
    # 结尾检测
    {
        '5': ('XXXXX', 1000),

        '4_0': (' XXXX ', 400),
        '4_1': (' XXXXO', 100),
        '4_2': ('OXXXX ', 100),
        '4_3': ('X XXX  ', 120),
        '4_4': ('   XX XX   ', 110),
        '4_5': ('  XXX X', 120),
        '4_6': ('X XXXO', 82),
        '4_7': ('XX XXO', 84),
        '4_8': ('OXX XX', 84),
        '4_9': ('OXXX X', 82),
        '4_16': ('OX XXX', 86),
        '4_17': ('XXX XO', 86),
        '4_10': (' XXXX', 100),  # 结尾
        '4_12': ('X XXX', 82),  # 结尾
        '4_14': ('XX XX', 84),  # 结尾
        '4_19': ('XXX X', 86),  # 结尾

        '3_0': ('  XXX  ', 60),
        '3_1': ('  XXXO', 25),
        '3_2': ('OXXX  ', 25),
        '3_3': (' XXX  ', 30),
        '3_4': ('  XXX ', 30),
        '3_5': (' X XX ', 37),
        '3_6': (' XX X ', 37),
        '3_7': (' X X X ', 27),
        '3_8': ('OXX X ', 21),
        '3_9': (' X XXO', 21),
        '3_14': ('OX XX ', 23),
        '3_15': (' XX XO', 23),
        '3_12': ('  XXX', 25),  # 结尾
        '3_13': (' X XX', 21),  # 结尾
        '3_17': (' XX X', 23),  # 结尾

        '2_0': ('   XX   ', 8),
        '2_1': ('   XXO', 2),
        '2_2': ('OXX   ', 2),
        '2_3': ('  XX   ', 5),
        '2_4': (' XX   ', 4),
        '2_5': (' X X ', 4),
        '2_7': ('   XX', 2),  # 结尾
    }
]
value_model_O = [
    # 开头检测
    {
        '4_11': ('OOOO ', 100),  # 开头
        '4_13': ('OO OO ', 84),  # 开头
        '4_15': ('OOO O', 82),  # 开头
        '4_18': ('O OOO', 86),  # 开头
        '3_10': ('OOO  ', 25),  # 开头
        '3_11': ('OO O ', 21),  # 开头
        '3_16': ('O OO ', 23),  # 开头
        '2_6': ('OO   ', 2),  # 开头

        '5': ('OOOOO', 1000),

        '4_0': (' OOOO ', 400),
        '4_1': (' OOOOX', 100),
        '4_2': ('XOOOO ', 100),
        '4_3': ('O OOO  ', 120),
        '4_4': ('   OO OO   ', 110),
        '4_5': ('  OOO O', 120),
        '4_6': ('O OOOX', 82),
        '4_7': ('OO OOX', 84),
        '4_8': ('XOO OO', 84),
        '4_9': ('XOOO O', 84),
        '4_16': ('XO OOO', 86),
        '4_17': ('OOO OX', 86),

        '3_0': ('  OOO  ', 60),
        '3_1': ('  OOOX', 25),
        '3_2': ('XOOO  ', 25),
        '3_3': (' OOO  ', 30),
        '3_4': ('  OOO ', 30),
        '3_5': (' O OO ', 37),
        '3_6': (' OO O ', 37),
        '3_7': (' O O O ', 27),
        '3_8': ('XOO O ', 21),
        '3_9': (' O OOX', 21),
        '3_14': ('XO OO ', 23),
        '3_15': (' OO OX', 23),

        '2_0': ('   OO   ', 8),
        '2_1': ('   OOX', 2),
        '2_2': ('XOO   ', 2),
        '2_3': ('  OO   ', 5),
        '2_4': (' OO   ', 4),
        '2_5': (' O O ', 4)
    },
    # 中间检测
    {
        '5': ('OOOOO', 1000),

        '4_0': (' OOOO ', 400),
        '4_1': (' OOOOX', 100),
        '4_2': ('XOOOO ', 100),
        '4_3': ('O OOO  ', 120),
        '4_4': ('   OO OO   ', 110),
        '4_5': ('  OOO O', 120),
        '4_6': ('O OOOX', 82),
        '4_7': ('OO OOX', 84),
        '4_8': ('XOO OO', 84),
        '4_9': ('XOOO O', 84),
        '4_16': ('XO OOO', 86),
        '4_17': ('OOO OX', 86),

        '3_0': ('  OOO  ', 60),
        '3_1': ('  OOOX', 25),
        '3_2': ('XOOO  ', 25),
        '3_3': (' OOO  ', 30),
        '3_4': ('  OOO ', 30),
        '3_5': (' O OO ', 37),
        '3_6': (' OO O ', 37),
        '3_7': (' O O O ', 27),
        '3_8': ('XOO O ', 21),
        '3_9': (' O OOX', 21),
        '3_14': ('XO OO ', 23),
        '3_15': (' OO OX', 23),

        '2_0': ('   OO   ', 8),
        '2_1': ('   OOX', 2),
        '2_2': ('XOO   ', 2),
        '2_3': ('  OO   ', 5),
        '2_4': (' OO   ', 4),
        '2_5': (' O O ', 4)
    },
    # 结尾检测
    {
        '4_10': (' OOOO', 100),  # 结尾
        '4_12': ('O OOO', 82),  # 结尾
        '4_14': ('OO OO', 84),  # 结尾
        '4_19': ('OOO O', 86),  # 结尾
        '3_12': ('  OOO', 25),  # 结尾
        '3_13': (' O OO', 21),  # 结尾
        '3_17': (' OO O', 23),  # 结尾
        '2_7': ('   OO', 2),  # 结尾

        '5': ('OOOOO', 1000),

        '4_0': (' OOOO ', 400),
        '4_1': (' OOOOX', 100),
        '4_2': ('XOOOO ', 100),
        '4_3': ('O OOO  ', 120),
        '4_4': ('   OO OO   ', 110),
        '4_5': ('  OOO O', 120),
        '4_6': ('O OOOX', 82),
        '4_7': ('OO OOX', 84),
        '4_8': ('XOO OO', 84),
        '4_9': ('XOOO O', 84),
        '4_16': ('XO OOO', 86),
        '4_17': ('OOO OX', 86),

        '3_0': ('  OOO  ', 60),
        '3_1': ('  OOOX', 25),
        '3_2': ('XOOO  ', 25),
        '3_3': (' OOO  ', 30),
        '3_4': ('  OOO ', 30),
        '3_5': (' O OO ', 37),
        '3_6': (' OO O ', 37),
        '3_7': (' O O O ', 27),
        '3_8': ('XOO O ', 21),
        '3_9': (' O OOX', 21),
        '3_14': ('XO OO ', 23),
        '3_15': (' OO OX', 23),

        '2_0': ('   OO   ', 8),
        '2_1': ('   OOX', 2),
        '2_2': ('XOO   ', 2),
        '2_3': ('  OO   ', 5),
        '2_4': (' OO   ', 4),
        '2_5': (' O O ', 4)
    }
]

if __name__ == '__main__':
    test_list = list(set([_i[1] for _ in value_model_X for _i in _.items()]))
    print(test_list)
    print(len(test_list))

